ExtJS ডেটা হ্যান্ডলিংয়ের জন্য একটি শক্তিশালী এবং নমনীয় প্ল্যাটফর্ম প্রদান করে। এটি JSON এবং XML ডেটা ফরম্যাটে ডেটা পরিচালনা করতে পারে, যা ওয়েব অ্যাপ্লিকেশনের জন্য গুরুত্বপূর্ণ। JSON (JavaScript Object Notation) এবং XML (Extensible Markup Language) উভয়ই ডেটা ট্রান্সফার ফরম্যাট হিসেবে ব্যাপকভাবে ব্যবহৃত হয়। ExtJS এই দুটি ফরম্যাটের সাথে ডেটা ইন্টারঅ্যাকশন করতে সহায়ক API প্রদান করে।
JSON ডেটা স্টোরের মাধ্যমে অ্যাপ্লিকেশনে ব্যবহৃত হয়। ExtJS এ JSON ডেটা হ্যান্ডলিং সাধারণত Ext.data.Store
এবং Ext.data.proxy.Ajax
এর মাধ্যমে করা হয়।
Ext.create('Ext.data.Store', {
storeId: 'userStore',
fields: ['id', 'name', 'email'],
proxy: {
type: 'ajax',
url: 'users.json', // JSON ফাইল বা API এন্ডপয়েন্ট থেকে ডেটা লোড
reader: {
type: 'json',
rootProperty: 'data' // JSON ডেটার মূল কন্টেন্ট
}
},
autoLoad: true // ডেটা স্বয়ংক্রিয়ভাবে লোড হবে
});
এখানে:
proxy
: ajax
টাইপের প্রক্সি ব্যবহার করা হয়েছে JSON ডেটা লোড করার জন্য।reader
: JSON ডেটা রিড করার জন্য json
রিডার ব্যবহার করা হয়েছে। rootProperty
নির্দেশ করে JSON ডেটার রুট এলিমেন্ট যা আসল ডেটা ধারণ করে (এই উদাহরণে 'data'
)।// ডেটা ফিল্টার করা
var store = Ext.getStore('userStore');
store.filter('name', 'John');
// একটি নির্দিষ্ট রেকর্ড পাওয়া
var record = store.getById(1); // id 1 এর রেকর্ড
console.log(record.get('name'));
এখানে, filter
এবং getById
মেথডগুলো ব্যবহার করে JSON ডেটাতে ফিল্টার এবং নির্দিষ্ট রেকর্ড অনুসন্ধান করা হয়েছে।
XML ডেটা হ্যান্ডলিংয়ের জন্যও ExtJS এর মধ্যে Ext.data.proxy.Ajax
এবং Ext.data.reader.Xml
ব্যবহার করা হয়। XML ডেটার স্ট্রাকচার সাধারণত আরও জটিল, তবে ExtJS সহজভাবে এটি রিড এবং ম্যানিপুলেট করতে সহায়ক।
Ext.create('Ext.data.Store', {
storeId: 'userStore',
fields: ['id', 'name', 'email'],
proxy: {
type: 'ajax',
url: 'users.xml', // XML ফাইল বা API এন্ডপয়েন্ট থেকে ডেটা লোড
reader: {
type: 'xml',
record: 'user', // XML ডেটার প্রতিটি রেকর্ডের জন্য ট্যাগ নাম
rootProperty: 'users' // মূল রুট এলিমেন্ট যেখানে ডেটা রয়েছে
}
},
autoLoad: true
});
এখানে:
proxy
: ajax
প্রক্সি ব্যবহার করে XML ডেটা লোড করা হচ্ছে।reader
: XML ডেটার জন্য xml
রিডার ব্যবহার করা হচ্ছে। এখানে record: 'user'
এর মাধ্যমে প্রতিটি রেকর্ডের জন্য XML ট্যাগের নাম নির্ধারণ করা হয়েছে এবং rootProperty: 'users'
দিয়ে রুট এলিমেন্টটি চিহ্নিত করা হয়েছে।var store = Ext.getStore('userStore');
// XML ডেটা ফিল্টার করা
store.filter('name', 'John');
// XML থেকে একটি নির্দিষ্ট রেকর্ড পাওয়া
var record = store.getAt(0); // প্রথম রেকর্ড
console.log(record.get('name'));
এখানে filter
এবং getAt
মেথড ব্যবহার করে XML ডেটাতে ফিল্টার এবং রেকর্ড খোঁজা হয়েছে।
Ext.Ajax.request({
url: 'users.json',
method: 'GET',
success: function(response) {
var jsonData = Ext.decode(response.responseText);
console.log(jsonData); // JSON ডেটা প্রাপ্তি
},
failure: function() {
console.log('Failed to load JSON data');
}
});
Ext.Ajax.request({
url: 'users.xml',
method: 'GET',
success: function(response) {
var xmlDoc = response.responseXML;
console.log(xmlDoc); // XML ডেটা প্রাপ্তি
},
failure: function() {
console.log('Failed to load XML data');
}
});
এখানে:
Ext.decode
ব্যবহার করে JSON ডেটাকে JavaScript অবজেক্টে পরিণত করা হয়েছে।response.responseXML
ব্যবহার করে XML ডেটা পাওয়া গেছে, যা পরবর্তী সময়ে DOM অপারেশনের মাধ্যমে ম্যানিপুলেট করা যাবে।Ext.data.proxy.Ajax
এবং Ext.data.reader.Json
ব্যবহার করে ডেটা লোড এবং ম্যানিপুলেট করা যায়।Ext.data.proxy.Ajax
এবং Ext.data.reader.Xml
ব্যবহার করে ডেটা লোড এবং ম্যানিপুলেট করা যায়।ExtJS তে JSON এবং XML ডেটা ব্যবহারের মাধ্যমে আপনি শক্তিশালী এবং স্কেলেবল ওয়েব অ্যাপ্লিকেশন তৈরি করতে পারেন যা ডেটা ইন্টারঅ্যাকশন এবং প্রক্রিয়া সহজ করে।
Read more